Ext.ns('Tm.bill');
Tm.bill.BillAddPanel = Ext.extend(Ext.Panel, {
			id : 'billAddPanel',
			frame : true,
		    autoHeight:true,
            autoWidth:true,
			dataId : null,
			taskId: null,
			layout : 'fit',
			initComponent : function() {
				var form = new Tm.common.FormPanel({
					
					labelWidth : 100,
					defaults : {
						xtype : 'textfield',
						margins : '0 5 0 0',
						width : 300
					},
							ref : 'form',
							errorReader : new Tm.common.DataReader(),
							items : [{
										name : 'id',
										hidden : true
									}, {
										xtype : 'googlesearchfield',
										fieldLabel : '案件',
										allowBlank : false,
										name : 'taskId',
										hiddenName : 'taskId',
										queryURL : 'task/goolgeTask.do'

									},{
										name : 'code',
										hidden : true
									}, {
										fieldLabel : '支付期限',
										xtype : 'datefield',
										name : 'deadline',
										format : 'Y-m-d',
										altFormats : 'Y-m-d H:i:s',
										allowBlank : false
									}, {
										name : 'currency',
										fieldLabel : '币种',
										xtype : 'combo',
										mode : 'local',
										editable : false,
										typeAhead : true,
										forceSelection : true,
										hiddenName : 'currency',
										mode : 'local',
										triggerAction : 'all',
										emptyText : '请选择...',
										selectOnFocus : true,
										store : Tm.data.currency,
										allowBlank : false
									}, {
										name : 'description',
										fieldLabel : '描述',
										xtype : 'textarea'
									}]
						});

				var toolBar = new Ext.Toolbar({
							hideBorders : true,
							buttons : [{
										text : '保存',
										iconCls : 'act_acceptIcon',
										handler : function() {
											if (form.getForm().isValid()) {
												form.getForm().submit({
															waitMsg : '正在提交,请稍候...',
															url : 'bill/saveOrUpdateBill.do',
															method : 'post',
															success : function(form, action) {
																//App.setAlert('ok', '操作成功');
																App.setAlert('ok', '保存成功!');
																var bill = Ext.decode(action.response.responseText);
																Ext.getCmp('billAddPanel').init(bill);
																
																//Ext.getCmp('fileAddWindow').close();
															},
															failure : function(form, action) {
																App.setAlert('error', '操作失败');
															}
														});
											}
										}
									}, {
										xtype : 'tbseparator'
									}, {
										text : '重置',
										iconCls : 'act_resetIcon',
										handler : function() {
											form.getForm().reset();
										}
									}]
						});

				Ext.apply(this, {
							tbar : toolBar,
							items : [form]
						});

				Tm.bill.BillAddPanel.superclass.initComponent.call(this);
			},

			loadData : function() {
				var dataId = this.dataId;
				var billAddPanel = Ext.getCmp('billAddPanel');
				var form = billAddPanel.form;
				if(this.taskId){
					form.getForm().findField('taskId').setValue(this.taskId);
				}
				

				if (dataId) {
					Ext.Ajax.request({
								url : 'bill/loadBlBill.do',
								params : {
									id : dataId
								},
								success : function(response, action) {
									var bill = Ext.decode(response.responseText);
									Ext.getCmp('billAddPanel').init(bill);
								},
								failure : function(response, action) {
									App.setAlert('error', '载入失败');
								}

							});
				}
			},
			init : function(bill) {
				var billAddPanel = Ext.getCmp('billAddPanel');
				var form = billAddPanel.form;
				form.getForm().findField('id').setValue(bill.id);
				form.getForm().findField('code').setValue(bill.code);
				form.getForm().findField('deadline').setValue(bill.deadline);
				form.getForm().findField('currency').setValue(bill.currency);
				form.getForm().findField('description').setValue(bill.description);
			},
			listeners : {
				render : function() {
					this.loadData();
				}
			}
		});
